package com.imooc.mall.service;

import com.github.pagehelper.PageInfo;
import com.imooc.mall.model.pojo.Product;
import com.imooc.mall.model.request.AddProductReq;
import com.imooc.mall.model.request.ProductListReq;

/**
 * 商品service
 */
public interface ProductService {
    /**
     * 添加商品
     *
     * @param addProductReq
     */
    public void add(AddProductReq addProductReq);

    /**
     * 更新商品
     *
     * @param product
     */
    public void update(Product product);

    /**
     * 删除商品
     *
     * @param id
     */
    public void delete(Integer id);

    /**
     * 批量上下架
     *
     * @param ids
     * @param sellStatus
     */
    public void batchUpdateSellStatus(Integer[] ids, Integer sellStatus);

    /**
     * 后台商品列表
     *
     * @param pageNum
     * @param pageSize
     * @return 将查询到的商品list放到pageInfo中返回
     */
    public PageInfo listForAdmin(Integer pageNum, Integer pageSize);

    /**
     * 商品详情
     *
     * @param id
     * @return
     */
    public Product detail(Integer id);

    /**
     * 前台商品列表
     *
     * @param productListReq
     * @return
     */
    public PageInfo list(ProductListReq productListReq);
}
